package evemanutool.gui.general.tabel;
import java.awt.Color;
import java.awt.Component;
import java.text.DecimalFormat;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
@SuppressWarnings("serial")
public class IntegerNumberCellRenderer extends DefaultTableCellRenderer {
private DecimalFormat formatter;
private String suffix;
public IntegerNumberCellRenderer(String suffix) {
this.suffix = suffix;
setHorizontalAlignment(RIGHT);
}
@Override
public void setValue(Object value) {
if (formatter == null) {
formatter = new DecimalFormat("#,###,###,###");
}
setText((value == null) ? "" : formatter.format(value) + suffix);
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
row, column);
//Set font color.
if (value != null && (value instanceof Integer && (Integer) value < 0)) {
c.setForeground(Color.RED);
}else {
c.setForeground(Color.BLACK);
}
return c;
}
}